<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Yang's Harbor</title><meta name="keywords" content="技术,笔记,见解,生活"><meta name="author" content="✨YangSier✨,hobart.yang@qq.com"><meta name="copyright" content="✨YangSier✨"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#0d0d0d"><meta http-equiv="Cache-Control" content="no-transform"><meta http-equiv="Cache-Control" content="no-siteapp"><meta name="description" content="Space of Tech, Love and Thought">
<meta property="og:type" content="website">
<meta property="og:title" content="Yang&#39;s Harbor">
<meta property="og:url" content="https://discover304.top/page/4/index.html">
<meta property="og:site_name" content="Yang&#39;s Harbor">
<meta property="og:description" content="Space of Tech, Love and Thought">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://discover304.top/img/head.jpg">
<meta property="article:author" content="✨YangSier✨">
<meta property="article:tag" content="技术">
<meta property="article:tag" content="笔记">
<meta property="article:tag" content="见解">
<meta property="article:tag" content="生活">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://discover304.top/img/head.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://discover304.top/page/4/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="preconnect" href="//zz.bdstatic.com"/><meta name="google-site-verification" content="ilqpfk3vkgzDNNikz_V37-DOvRyi5wv4Hoi_eyBqvTg"/><meta name="msvalidate.01" content="49D9A50CCF9744E17274791468EDB517"/><meta name="baidu-site-verification" content="code-V24KosyVh1"/><meta name="360-site-verification" content="bd8859c3d74dfa3e8aeee9db30c94bd2"/><meta name="yandex-verification" content="f28ec9bbd50c56f5"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8030f6052f2fed6a4704d96619f090d6";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script><link rel="stylesheet" href="/css/font.css" media="print" onload="this.media='all'"><script>var GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"search.xml","languages":{"hits_empty":"We didn't find any results for the search: ${query}"}},
  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"簡"},
  noticeOutdate: {"limitDay":365,"position":"top","messagePrev":"It has been","messageNext":"days since the last update, the content of the article may be outdated."},
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true},
  copy: {
    success: 'Copy successfully',
    error: 'Copy error',
    noSupport: 'The browser does not support'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: 'days',
  date_suffix: {
    just: 'Just',
    min: 'minutes ago',
    hour: 'hours ago',
    day: 'days ago',
    month: 'months ago'
  },
  copyright: {"limitCount":200,"languages":{"author":"Author: ✨YangSier✨","link":"Link: ","source":"Source: Yang's Harbor","info":"Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source."}},
  lightbox: 'fancybox',
  Snackbar: {"chs_to_cht":"Traditional Chinese Activated Manually","cht_to_chs":"Simplified Chinese Activated Manually","day_to_night":"Dark Mode Activated Manually","night_to_day":"Light Mode Activated Manually","bgLight":"#ffc910","bgDark":"#02c3f6","position":"bottom-left"},
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: true,
  islazyload: true,
  isanchor: true
};

var saveToLocal = {
  set: function setWithExpiry(key, value, ttl) {
    const now = new Date()
    const expiryDay = ttl * 86400000
    const item = {
      value: value,
      expiry: now.getTime() + expiryDay,
    }
    localStorage.setItem(key, JSON.stringify(item))
  },

  get: function getWithExpiry(key) {
    const itemStr = localStorage.getItem(key)

    if (!itemStr) {
      return undefined
    }
    const item = JSON.parse(itemStr)
    const now = new Date()

    if (now.getTime() > item.expiry) {
      localStorage.removeItem(key)
      return undefined
    }
    return item.value
  }
}

// https://stackoverflow.com/questions/16839698/jquery-getscript-alternative-in-native-javascript
const getScript = url => new Promise((resolve, reject) => {
  const script = document.createElement('script')
  script.src = url
  script.async = true
  script.onerror = reject
  script.onload = script.onreadystatechange = function() {
    const loadState = this.readyState
    if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
    script.onload = script.onreadystatechange = null
    resolve()
  }
  document.head.appendChild(script)
})</script><script id="config_change">var GLOBAL_CONFIG_SITE = { 
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2023-04-25 19:02:57'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(function () {  window.activateDarkMode = function () {
    document.documentElement.setAttribute('data-theme', 'dark')
    if (document.querySelector('meta[name="theme-color"]') !== null) {
      document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
    }
  }
  window.activateLightMode = function () {
    document.documentElement.setAttribute('data-theme', 'light')
   if (document.querySelector('meta[name="theme-color"]') !== null) {
      document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
    }
  }
  const autoChangeMode = 'false'
  const t = saveToLocal.get('theme')
  if (autoChangeMode === '1') {
    const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches
    const isLightMode = window.matchMedia('(prefers-color-scheme: light)').matches
    const isNotSpecified = window.matchMedia('(prefers-color-scheme: no-preference)').matches
    const hasNoSupport = !isDarkMode && !isLightMode && !isNotSpecified
    if (t === undefined) {
      if (isLightMode) activateLightMode()
      else if (isDarkMode) activateDarkMode()
      else if (isNotSpecified || hasNoSupport) {
        const now = new Date()
        const hour = now.getHours()
        const isNight = hour <= 6 || hour >= 18
        isNight ? activateDarkMode() : activateLightMode()
      }
      window.matchMedia('(prefers-color-scheme: dark)').addListener(function (e) {
        if (saveToLocal.get('theme') === undefined) {
          e.matches ? activateDarkMode() : activateLightMode()
        }
      })
    } else if (t === 'light') activateLightMode()
    else activateDarkMode()
  } else if (autoChangeMode === '2') {
    const now = new Date()
    const hour = now.getHours()
    const isNight = hour <= 6 || hour >= 18
    if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
    else if (t === 'light') activateLightMode()
    else activateDarkMode()
  } else {
    if (t === 'dark') activateDarkMode()
    else if (t === 'light') activateLightMode()
  }const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
   if (asideStatus === 'hide') {
     document.documentElement.classList.add('hide-aside')
   } else {
     document.documentElement.classList.remove('hide-aside')
   }
}})()</script><meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Yang's Harbor" type="application/atom+xml">
</head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">Loading...</div></div></div><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="author-avatar"><img class="avatar-img" data-lazy-src="/img/head.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">243</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">88</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">23</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Links</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> Articles</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archive</span></a></li><li><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Category</span></a></li><li><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></li></ul></div></div></div></div><div id="body-wrap"><header class="full_page" id="page-header" style="background-image: url(https://image.discover304.top/wallpaper/anime-anime-girls-original-characters-short-hair-wallpaper-preview.jpg?imageView2/2/h/600)"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Yang's Harbor</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> Search</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> Home</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> Links</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> About</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> Articles</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> Archive</span></a></li><li><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> Category</span></a></li><li><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> Tags</span></a></li></ul></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Yang's Harbor</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/Discover304" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/Discover304" target="_blank" title="CSDN"><i class="fa-solid fa-c"></i></a><a class="social-icon" href="https://www.zhihu.com/people/discover-56-86-75" target="_blank" title="知乎"><i class="fa-brands fa-zhihu"></i></a><a class="social-icon" href="mailto:hobart.yang@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://jq.qq.com/?_wv=1027&amp;k=EaGddTQg" target="_blank" title="QQ"><i class="fa-brands fa-qq"></i></a></div></div><div id="waves"><svg class="waves" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"><defs><path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z"></path></defs><g class="parallax"><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="0"></use></g></svg></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item" style="width:100%;height:auto;float:left;padding:5px;flex-wrap:wrap;justify-content : center;flex-direction: row; "><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/ai/dl/space_work.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">🔥人工智能</div><p>笔记和资料，涉及到深度学习、自动驾驶等领域。</p><a href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/NEKOYA_S.S.S. Doll [Pallas].jfif?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">🔥ROS笔记</div><p>ROS机器人框架笔记。Beginer Friendly</p><a href="/tags/ROS/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/python_future.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✅Python教程</div><p>从0到1，在深入人工智能的全套Python笔记。</p><a href="/tags/Python/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/miku-king-white-theme.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">❤️经验经历</div><p>过往的感悟和思考。</p><a href="/tags/%E7%BB%8F%E9%AA%8C/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/factory.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✨碎片技术</div><p>学习工作中遇到的很赞的技术碎片，整理好了。</p><a href="/tags/%E6%8A%80%E6%9C%AF/"></a></figcaption></figure><figure class="gallery-group" id="color-card"><img class="gallery-group-img loaded" src="https://image.discover304.top/gaoda.jpg?imageView2/2/h/300" data-ll-status="loaded"><figcaption style="background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0.618) 25%,rgba(16,16,16,0) 100%"><div class="gallery-group-name" style="font-size: 1rem;">✨学习积累</div><p>相对于碎片技术的，已经沉淀为自己的资本的内容。</p><a href="/tags/学习/"></a></figcaption></figure></div><div class="recent-post-item" style="height:0px;clear:both;margin-top: 0px;"></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/14/2021q3/058-mvc-real-life/" title="MVC 软件架构对于现实生活的启发">     <img class="post_bg" data-lazy-src="https://image.discover304.top/question_solve.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="MVC 软件架构对于现实生活的启发"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/14/2021q3/058-mvc-real-life/" title="MVC 软件架构对于现实生活的启发">MVC 软件架构对于现实生活的启发</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-14T10:43:05.000Z" title="Created 2021-09-14 18:43:05">2021-09-14</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%80%9D%E8%80%83/">思考</a></span></div><div class="content">
作者：@Discover本文章出自企划：麻瓜指南，一个创作者互帮互助共同创作的企划。联系方式见文末尾。

一句话MVC架构：拆开面子和里子，再使用有结构的数据管道连在一起。

近期学习了MVC的软件架构。期间不禁得思考这样的架构是否可以作为支撑日常生活计划甚至是思考的模型。

从旁观者的角度审视MVC架构，我们可以给出如下的解释：

界面View注重交互，强调数据的输入和输出展示。
业务逻辑Control注重的数据的处理，包括计算、存储。
数据模型Model注重的是数据的格式，封装界面和业务逻辑间传递的数据。
MVC的目的是分离界面View和业务逻辑Control，并使用数据模型Model打包整理数据。
维护更加便捷，添加功能更容易。


明白了上面的内容，接下来我们站在程序的立场上，思考一下MVC这个架构。

我们有两个主人公小V小C，还有叫做M的箱子。小V喜欢社交，经常会展示各种各样有意思的东西给人看，也会收到很多的礼物。他会把一大堆的礼物按照箱子M上标注的顺序装好，送给小C。小C是技术宅，喜欢把箱子M里的东西拆拆合合，重组融合。然后再把数据收到一个箱子M，可以是不同的箱子M，然 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/13/2021q3/057-magua-qihua/" title="《麻瓜指南》(暂定) 测试企划书">     <img class="post_bg" data-lazy-src="https://image.discover304.top/%E5%94%B1%E7%89%87.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="《麻瓜指南》(暂定) 测试企划书"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/13/2021q3/057-magua-qihua/" title="《麻瓜指南》(暂定) 测试企划书">《麻瓜指南》(暂定) 测试企划书</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-13T12:57:13.000Z" title="Created 2021-09-13 20:57:13">2021-09-13</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E7%BA%AA%E5%BF%B5/">纪念</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a></span></div><div class="content">
《麻瓜指南》(暂定) 测试企划书企划人：YHB (Github: Discover304)
发布日期：2021&#x2F;09&#x2F;14
企划介绍这是一个定时提供创作点子的，大家一起讨论并进行合作创作，打造IP的长期企划活动的测试。
企划的本质是组建一个计算机科学领域的研究小组。旨在科普电脑和数学领域的知识；提出新鲜的观点看法；回顾人工智能的发展历程，思考未来的研究方向；研究感兴趣的领域并发表论文。
企划背景作为一个博主，最难过的事情不过两件，一件是题目太多了，写不过来了；另一件是没有题目可写了，感到江郎才尽。每个博主或者创作者都会反复经历这样的困境。
因此，我希望通过团队的力量，实现优势互补，持续输出高质量的原创内容。介于这是我第一次进行这样的企划活动，所以先小规模的进行一次测试企划，积累一点经验，为之后的长期企划铺路。
参加项目的你可以获得
可以尽情发挥自己的才华。
可以交到有意思朋友。
可以为自己的个人研究招募小伙伴。
可以打破粉丝数0的惨状，开始拥有影响力。
可能可以成功拥有论文发表经历，提升学术背景。

我们需要什么样的小伙伴满足一下任意一点即可：

有充足的时间。
 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/13/2021q3/055-github-pages-custom-domain/" title="Hexo+Github Pages 自定义域名">     <img class="post_bg" data-lazy-src="https://image.discover304.top/R-C.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Hexo+Github Pages 自定义域名"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/13/2021q3/055-github-pages-custom-domain/" title="Hexo+Github Pages 自定义域名">Hexo+Github Pages 自定义域名</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-13T02:13:59.000Z" title="Created 2021-09-13 10:13:59">2021-09-13</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a></span></div><div class="content">
“好事”前些天因为我的操作失误，我的博客网站炸了，无法显示更新了。
我回忆了一下我当时在搭建博客网站的经历，想起来我使用的是第三方的 CDN 解析，所以应该是本地的配置被覆盖了。于是我尝试着去寻找我自己绑定自定义域名的博客或者记录，打算按照当时的流程重新配置一下。然后结果你应该也猜到了，要是我找到了记录，这篇博客就不会出现在这里了。
经过调查，我发现到可以通过在阿里云自己的CDN解析添加记录的方式实现个人网站的自定义域名绑定，不需要修改阿里云的CDN解析的配置到第三方解析来实现。（主要是因为我也忘记了之前用的是哪家的第三方CDN解析服务了，狗头保命）然后需要在github pages 的仓库下创建 CNAME 文件，里面写自己的域名。
具体流程在自己的域名管理目录下找到CDN配置，然后找到添加CDN记录的页面添加需要的CDN解析到的地址记录。如下图所示：

记录类型可以写CNAME。当然也可以写其他的，只是这就需要你去百度一下其他的选项的作用了。然后主机记录这里@是默认主域名，也就是我这里的 discover304.top。填写其他的如image，意思就是解析的是 image.dis ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/13/2021q3/054-setup-qiniu-cloud/" title="配置博客七牛云存储">     <img class="post_bg" data-lazy-src="https://image.discover304.top/Qiniuyun.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="配置博客七牛云存储"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/13/2021q3/054-setup-qiniu-cloud/" title="配置博客七牛云存储">配置博客七牛云存储</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-13T01:58:40.000Z" title="Created 2021-09-13 09:58:40">2021-09-13</time></span></div><div class="content">

申请云存储。
配置请求，设置自定义域名。
在阿里云配置自定义域名的CDN解析记录。见 Hexo+Github pages 自定义域名
如果是二级域名则需要申请子域名SSL，然后才能设置https 协议。

对于子域名的SSL，我们有两种办法可以申请到免费的。第一种方法是在阿里云申请一年的免费的SSL，第二种方法就是直接在七牛云的渠道申请SSL。推荐使用第二种方法，因为可以很简单的配置，不需要在阿里云下载SSL文件，然后再上传到七牛云上。
参考：https://blog.csdn.net/weixin_39593460&#x2F;article&#x2F;details&#x2F;112325687
</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/11/2021q3/053-callaboration-pattern/" title="合作模式小总结 施工中~">     <img class="post_bg" data-lazy-src="https://image.discover304.top/carlo-balassu-13.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="合作模式小总结 施工中~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/11/2021q3/053-callaboration-pattern/" title="合作模式小总结 施工中~">合作模式小总结 施工中~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-11T02:38:27.000Z" title="Created 2021-09-11 10:38:27">2021-09-11</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%96%BD%E5%B7%A5%E4%B8%AD/">施工中~</a></span></div><div class="content">管理星系管理模式这里主要讲一下星系模型的社团管理模型。一个社团就像一个星系，由一个强大的核心和大量的周边组织形成。核心成员是利益相关集团，起到的作用是组织其他的成员有规律活动。
一个动态的管理模式，有点像微商发展下线。由独当一面的人牵头，由直接管理的小组合作完成。
中央集权管理模式注意：主要是因为一个企业和一个用爱发电的社团其实很不一样。
合作零散模式可以先设置明确的部门分工。
由一个人根据自己思路写论文或者做视频项目，不懂就问其他人。
流水线模式一个项目或论文的制作不是部门的垂直作用，而是各个部门的交叉作用。
一群人跟这个一个总目标，每个人都是产品线上的一节链条。
僚机模式
讨论模式
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/10/2021q3/051-evaluate-SVFI-RIFE-and-DAIN-APP/" title="比较 SVFI-RIFE 和 DAIN-APP 补针效果 施工中 ~">     <img class="post_bg" data-lazy-src="https://img1.dowebok.com/4674.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="比较 SVFI-RIFE 和 DAIN-APP 补针效果 施工中 ~"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/10/2021q3/051-evaluate-SVFI-RIFE-and-DAIN-APP/" title="比较 SVFI-RIFE 和 DAIN-APP 补针效果 施工中 ~">比较 SVFI-RIFE 和 DAIN-APP 补针效果 施工中 ~</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-10T01:15:38.000Z" title="Created 2021-09-10 09:15:38">2021-09-10</time></span></div><div class="content">SVFI速度非常快，但是社区版在补针效果上不尽如人意。而且暂时没有识别剔除重复帧的功能。
SVFI专业版非常的贵，648。
RIFE论文中提到一个点，判断人工智能补针效果的指标和实际感受间存在差异。
主观上DAIN APP的效果更好。

</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/09/2021q3/050-python-%E6%9C%89%E5%BA%8F%E5%AD%97%E5%85%B8%E5%92%8C%E9%9B%86%E5%90%88/" title="【Python】有序字典和集合说明">     <img class="post_bg" data-lazy-src="https://img2.huashi6.com/images/resource/2010/03/31/9h721517p0.jpg?imageView2/3/q/85/interlace/1/w/2560/h/2560" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】有序字典和集合说明"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/09/2021q3/050-python-%E6%9C%89%E5%BA%8F%E5%AD%97%E5%85%B8%E5%92%8C%E9%9B%86%E5%90%88/" title="【Python】有序字典和集合说明">【Python】有序字典和集合说明</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-09T10:36:05.000Z" title="Created 2021-09-09 18:36:05">2021-09-09</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B0%83%E6%9F%A5/">调查</a></span></div><div class="content">作者：@欧礼图本文章出自企划：麻瓜指南，一个创作者互帮互助共同创作的企划。联系方式见文末尾。

众所周知，字典的一大特性就是元素是无序排列的。那想让字典记住元素的插入顺序该怎么做呢？这就需要用到有序字典这一数据结构了。在正式介绍前，有一点需要读者注意：有序并不是指字典里的元素会按照大小顺序排列，而是说字典会记住所有元素插入的顺序，类似于链表。现在我们就来详细讲解一下有序字典都有什么功能，以及你应该怎么来使用它。
有序字典定义：python有序字典通常指collections库里的OrderedDict类。它继承python的dict类，也就意味着它和普通字典的使用方法相同，但在某些方法上有所差异。


使用及方法：

popitem(*last*=True)
 popitem函数原是字典内置函数，作用是返回并删除字典中最后一个元素。在OrderedDict里，该函数支持传入last关键字，当last=True时作用与普通字典相同，last=False时改为返回并删除字典首个元素。示例如下：
 12345678&gt;&gt;&gt; from collections import Or ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/08/2021q3/047-draw-io-%E6%95%99%E7%A8%8B/" title="draw.io 开源矢量图作图神器的骚操作">     <img class="post_bg" data-lazy-src="https://images.sftcdn.net/images/t_optimized,f_auto/p/80432565-d0ca-41a2-8a1d-b57fd53497c4/46033790/draw-io-gidq2wpM.jpg" onerror="this.onerror=null;this.src='/img/404.png'" alt="draw.io 开源矢量图作图神器的骚操作"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/08/2021q3/047-draw-io-%E6%95%99%E7%A8%8B/" title="draw.io 开源矢量图作图神器的骚操作">draw.io 开源矢量图作图神器的骚操作</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-08T04:21:20.000Z" title="Created 2021-09-08 12:21:20">2021-09-08</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a></span></div><div class="content">@[TOC](draw.io 开源矢量图作图神器的骚操作)
初识 draw.iodraw.io 是一个开源免费的制图软件，是大学生必备的学习工具。draw.io 有网页版和软件版两种，其中网页版支持多种云盘存储，非常的方便。
我接触的第一个矢量作图软件是 InkScape，一个自由的矢量作图软件。但是对于我，矢量图的应用场景只有作流程图和UML图这种，这样自由的矢量图工具不适合我。然后我接触的金山文档的流程图制作，和 InkScape 不同的是金山文档的这个非常的局促，体现在以下几个方面：有限的矢量图形，仅限于金山的云盘存储，带水印的导出图片。
后来机缘巧合之下我的教授向我推荐了 draw.io 这个工具。开源免费、大量的可选图形、清新的界面设计一下子就吸引了我。在之后的使用中，我越发的认为已经不会有比这个工具更适合我的矢量作图工具了。
使用 draw.io 的日常我已经使用了 draw.io 一年多了，主要有下面四个使用场景。
制图最基本的就是制图。从流程图到UML，从内存图到神经网络，从UI设计到合作模型展示，draw.io 都可以胜任，都可以得到美观的输出图片。
计划流程学习生活 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/06/2021q3/046-seperate-lyric-by-k-mean/" title="根据歌曲的波形信息拆分歌词片段的猜想">     <img class="post_bg" data-lazy-src="https://image.discover304.top/miku_sound.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="根据歌曲的波形信息拆分歌词片段的猜想"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/06/2021q3/046-seperate-lyric-by-k-mean/" title="根据歌曲的波形信息拆分歌词片段的猜想">根据歌曲的波形信息拆分歌词片段的猜想</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-06T03:27:24.000Z" title="Created 2021-09-06 11:27:24">2021-09-06</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a></span></div><div class="content">跳转下一篇文章：研究日记-虚拟歌姬自动调教之歌曲音频切割的问题

关键词：k mean, song cut
使用 k mean 对歌曲自动拆分。歌曲本身是一组一维的标量，
但是我们不再使用mean作为指标，我们使用角动量作为我们的优化指标。
全曲的角动量之和最小的时候即为我们的最终拆分结果。
需要计算歌词的字数。
保证尾音的权重：因为每一个字的强度随时间减弱，所以旋转轴需要逆时针旋转一定角度。



</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/09/03/2021q3/045-f-string-%E5%8D%A0%E4%BD%8D%E7%AC%A6/" title="【Python】f-String 占位符">     <img class="post_bg" data-lazy-src="https://image.discover304.top/the-letter-f-3.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】f-String 占位符"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/03/2021q3/045-f-string-%E5%8D%A0%E4%BD%8D%E7%AC%A6/" title="【Python】f-String 占位符">【Python】f-String 占位符</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-03T09:48:11.000Z" title="Created 2021-09-03 17:48:11">2021-09-03</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86%E7%82%B9/">知识点</a></span></div><div class="content">基础知识f-string 使用 f 开头，字符串中的表达式用 {} 括起来。
表达式是python代码，最后显示的是表达式的返回值。
其他的类型码&#x2F;占位符&#x2F;格式的描述符放在表达式的冒号:之后。
123456f&#x27;String words and codes &#123;content : format&#125;&#x27;f&#x27;输出是&#123;1+1&#125;&#x27; #&#x27;输出是&#x27; + str(2)a = 10f&#x27;输出是&#123;a:.2f&#125;&#x27; #&#x27;输出是&#x27; + str(10.00)

类型码&#x2F;占位符&#x2F;格式的描述符有很多很多，需要查。
f-string格式化 v.s. %格式化%格式化相较于f-string格式化不够自由。但是%格式化把所有需要填入的信息放到待格式化字符串的后面，在一些时候是更加合适的方式。
1234# 混在一起f&#x27;aivdndaiunfosaid;fna;osidfnas;ofidasfd;oi&#123;2&#125;a ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/09/03/2021q3/044-%E5%88%A9%E7%94%A8%E5%89%AF%E4%BD%9C%E7%94%A8%E7%90%86%E8%A7%A3pyhton/" title="利用函数式编程思想理解 Python">     <img class="post_bg" data-lazy-src="https://thumbs.dreamstime.com/z/function-technology-logo-linear-cog-gear-icon-stock-vector-illustration-isolated-white-background-163147035.jpg" onerror="this.onerror=null;this.src='/img/404.png'" alt="利用函数式编程思想理解 Python"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/09/03/2021q3/044-%E5%88%A9%E7%94%A8%E5%89%AF%E4%BD%9C%E7%94%A8%E7%90%86%E8%A7%A3pyhton/" title="利用函数式编程思想理解 Python">利用函数式编程思想理解 Python</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-09-03T02:55:31.000Z" title="Created 2021-09-03 10:55:31">2021-09-03</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%96%B0%E6%96%B9%E6%B3%95/">新方法</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86%E7%82%B9/">知识点</a></span></div><div class="content">
关键词：函数式编程，python底层理解，可靠性，效率。

print 是一个python的函数，print的 作用 是在终端中打印，print的返回值为None。

这里我们可以换个理解的方式：

print 是一个python的函数，print的返回值是None，print的 副作用 是在终端中打印。

上面两句的区别仅仅是语序的不同以及一个词的差异。但是这两句背后的思想大相径庭。
第一句强调的是作用，是一个函数能够做什么事情，我们在记忆的时候往往是忽略返回值None的。第二句强调的是函数本身的意义，即输入输出，在理解记忆的时候需要完善print的函数定义，其他print的功能都是副作用，也就是在运行函数的过程中，不属于函数输出范畴的影响。
python 中的每一个函数，每一个变量都可以使用这样的思想进行解释。
接下来我们看这样一段代码：
12a = 100b = a

正常的解释是：

我们给变量 a 赋值 100，然后将 变量 a 的值 赋给变量 b。

函数试思想是：

我们给变量 a 赋值 100，然后我们 调用 a 得到返回值 100，最后将 100 赋值给变量 b。
 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/08/31/2021q3/041-python-note/" title="【Python】人工智能入门须知">     <img class="post_bg" data-lazy-src="https://thumbs.dreamstime.com/z/ai-artificial-intelligence-programming-languages-type-message-sticky-note-computer-keyboard-ai-artificial-intelligence-187103540.jpg" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】人工智能入门须知"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/31/2021q3/041-python-note/" title="【Python】人工智能入门须知">【Python】人工智能入门须知</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-08-31T05:55:40.000Z" title="Created 2021-08-31 13:55:40">2021-08-31</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a></span></div><div class="content">行业认知AlphaGo &gt;&gt; AlphaGo Master &gt; &gt; AlphaGo Zero，人工智能在不停的进步。2017是人工智能元年。2030年抢占人工智能制高点。要注意人工智能和机器人不可以划等号。机器人是多种人工智能技术的结合。

图像：人脸支付、票据识别、色情识别
语音：会议记录、实时字幕、语音笔记
视频：AI测温仪、任务识别、细粒度识别
NLP：舆情监测、情感分析、新闻摘要
推荐：抖音、今日头条、电商产品推荐


1956年提出人工智能，弱人工智能 &gt;&gt; 2040强人工智能 &gt;&gt; 2060超人工智能。驱动人工智能的发展条件是云计算大数据和人工智能的算法。


云计算，Cloud computing，超大规模分布式计算能力，为大数据提供了硬件基础。
大数据，Big data，海量数据为人工智能的学习和发展提供了软件基础。
AI算法，Algorithm，人工智能进步的最重要条件，极大提高了人工智能的实验结果。

有了算法，需要数据来优化算法，有了数据需要巨大的处理能力。
人工智能影响劳动密集型产业，就是那种简单且重复性高的，规律 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/08/31/2021q3/040-business-idea/" title="企业小贴士">     <img class="post_bg" data-lazy-src="https://tse3-mm.cn.bing.net/th/id/OIP-C.xmSSj0v58gXBPe9xu7dA4AAAAA?pid=ImgDet&amp;rs=1" onerror="this.onerror=null;this.src='/img/404.png'" alt="企业小贴士"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/31/2021q3/040-business-idea/" title="企业小贴士">企业小贴士</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-08-31T00:49:46.000Z" title="Created 2021-08-31 08:49:46">2021-08-31</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%9F%B9%E8%AE%AD/">培训</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%BB%8F%E9%AA%8C/">经验</a></span></div><div class="content">学习成绩 or 工作业绩，我行我素 or 规章制度，话中没有责任 or 每句话都有责任，游戏 vs 现实，其他人的问题 or 我的问题
心态很关键，一般就分成积极和消极。但是，其实还有一种就是冷漠，亦或是理性。我认为这种中性的心态才是最好的。遇到事情首先需要的不是展现情绪，这只会让事情的处理变得复杂，所以需要理性。
积极的心态很重要，这是一种面对人生的态度。经常和积极心态的人待在一起，会对自己有好处。热爱珍惜自己已经拥有的。减少抱怨，能够让自己变得阳光。
</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/08/02/2021q3/039-python-%E7%88%AC%E8%99%AB/" title="【Python】爬虫">     <img class="post_bg" data-lazy-src="https://www.abuyun.com/misc/inline-images/1_27.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【Python】爬虫"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/02/2021q3/039-python-%E7%88%AC%E8%99%AB/" title="【Python】爬虫">【Python】爬虫</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-08-02T00:42:50.000Z" title="Created 2021-08-02 08:42:50">2021-08-02</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%A8%A1%E6%9D%BF/">模板</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a></span></div><div class="content">相较于之前写过的爬去B站动态的javav程序，Python明显简单很多。其中有一个很重要的原因，我们的java程序写的是一个实时的爬虫，一个监控，而这次接触的Python爬虫很明显仅仅只需要爬下来就可以了。
参考文献爬取图片html，主要是
API calling json
微博 json，会翻页
主要框架
post request
resolve received files&#x2F;data in form of json&#x2F;html&#x2F;xml
save to local

</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/08/02/2021q3/038-MP3-wav-midi/" title="MP3 to Wav to Midi">     <img class="post_bg" data-lazy-src="https://img.ashampoo.com/images/products/0096/icon.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="MP3 to Wav to Midi"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/08/02/2021q3/038-MP3-wav-midi/" title="MP3 to Wav to Midi">MP3 to Wav to Midi</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-08-02T00:31:16.000Z" title="Created 2021-08-02 08:31:16">2021-08-02</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a></span></div><div class="content">Converting mp3 to wav to midi is a task that extract notes from original mp3 files by computer.
reference project
audio&#x2F;wav to midi​

mp3 to wav12345678from pydub import AudioSegment# files                                                                       src = &quot;/dir/to/the/file.mp3&quot;dst = &quot;/dir/to/result/file.wav&quot;                                                    audSeg = AudioSegment.from_mp3(src)audSeg.export(dst, format=&quot;wav&quot;)

wav to midi1234pip instal ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/18/2021q3/037-UG3-course-research/" title="UoE UG3 Inf Course Research">     <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R.9b1ffa35179be4fd13b8a77a7b2a4137?rik=gNUbFR0VAaqUhQ&amp;pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.png'" alt="UoE UG3 Inf Course Research"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/18/2021q3/037-UG3-course-research/" title="UoE UG3 Inf Course Research">UoE UG3 Inf Course Research</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-07-18T13:40:23.000Z" title="Created 2021-07-18 21:40:23">2021-07-18</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E8%AE%B0%E5%BD%95/">记录</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B0%83%E6%9F%A5/">调查</a></span></div><div class="content">My choiceSM1:

Professional Issues
Informatics Large Practical
Introduction to Vision and Robotics
Introductory Applier Machine Learning

SM2:

System Design Project
Computer Communication and Networks
Foundations of Natural Language Processing

Winter Pool:

Operating System
Software Testing
Courses related to Quantum Computing

SM1Semester 1 of UG3 is focusing on application application and engineering.
Professional Issues (Level 10) (INFR10022)
http://www.drps.ed.ac.uk/20-21/dpt/cxinfr10022.h ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/07/18/2021q1/029-Hashcode-experience/" title="Google Hash Code Competition Summary">     <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/Radd490fa7662d0fd6da713faf5bce3ec?rik=7VE4q6RvTNfU6A&amp;riu=http%3a%2f%2fwww.ieee.hr%2f_news%2ficons%2f0bd0d864a5a669e16a40d1b0d301c58a2630_icon.jpg&amp;ehk=Dy9hO4fm%2bJPLRjofOve7yHihGDpvP2wW0v6rx4BNwhg%3d&amp;risl=&amp;pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.png'" alt="Google Hash Code Competition Summary"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/18/2021q1/029-Hashcode-experience/" title="Google Hash Code Competition Summary">Google Hash Code Competition Summary</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-07-18T13:24:28.000Z" title="Created 2021-07-18 21:24:28">2021-07-18</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E7%BA%AA%E5%BF%B5/">纪念</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a></span></div><div class="content">感想迷失在了历史的长河中。Lost in time.
Key codemain.py
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158from math import ceilfrom helpers import IOfrom typing import Dict, Listclass Task:    def  ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/07/18/2021q3/036-KL%E6%95%A3%E5%BA%A6%E4%BB%A5%E5%8F%8A%E4%BA%A4%E5%8F%89%E7%86%B5%E5%92%8C%E4%BF%A1%E6%81%AF%E7%86%B5/" title="KL散度以及交叉熵和信息熵">     <img class="post_bg" data-lazy-src="https://www.lgstatic.com/thumbnail_300x300/i/image2/M01/A7/D6/CgoB5lvkKbeAAJDQAADYsHnR0yw192.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="KL散度以及交叉熵和信息熵"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/07/18/2021q3/036-KL%E6%95%A3%E5%BA%A6%E4%BB%A5%E5%8F%8A%E4%BA%A4%E5%8F%89%E7%86%B5%E5%92%8C%E4%BF%A1%E6%81%AF%E7%86%B5/" title="KL散度以及交叉熵和信息熵">KL散度以及交叉熵和信息熵</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-07-18T12:20:18.000Z" title="Created 2021-07-18 20:20:18">2021-07-18</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%97%E6%B3%95/">算法</a></span></div><div class="content">一句话三者关系信息熵完美编码，交叉熵不完美编码，相对熵是两者的差值。即：相对熵 &#x3D; 交叉熵 - 信息熵。
什么是KL散度
KL散度的概念来源于概率论和信息论中。
KL散度又被称为：相对熵、互熵、鉴别信息、Kullback熵、Kullback-Leible散度(即KL散度的简写)。

如何理解KL散度
在统计学意义上来说，KL散度可以用来衡量两个分布之间的差异程度。若两者差异越小，KL散度越小，反之亦反。当两分布一致时，其KL散度为0。
KL散度在信息论中的专业术语为相对熵。其可理解为编码系统对信息进行编码时所需要的平均附加信息量。

KL散度的应用
正是因为其可以衡量两个分布之间的差异，在机器学习、深度学习领域中，KL散度被广泛运用于变分自编码器中(Variational AutoEncoder, 简称VAE)、EM算法(Expectation-Maximization Algorithm)、GAN网络中。

参考文献
KL散度：https://hsinjhao.github.io/2019/05/22/KL-DivergenceIntroduction/
KL散度和交叉熵的 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/05/17/2021q2/035-IADS-term-collection/" title="IADS 重点总结">     <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R3c3188f9a732735535f0f459bffb7881?rik=LM5iggw%2f8kApUw&amp;pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.png'" alt="IADS 重点总结"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/05/17/2021q2/035-IADS-term-collection/" title="IADS 重点总结">IADS 重点总结</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-05-17T08:40:04.000Z" title="Created 2021-05-17 16:40:04">2021-05-17</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/">笔记整理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%97%E6%B3%95/">算法</a></span></div><div class="content">
Insert-sort

Merge-sort

Clone

Deep clone

Dealing with clash of hash code

HeapSort

Quick sort

Tim sort

Breadth-first sort

Depth-first sort

Topological sort

Tabulation

Memory

Seam-Carving

Edit Distance

Finite State Machine

Hidden Markov Models (HMMs)

The CYK algorithm

LL(1) Predictive parsing


Stack

Queue

Heap

Array

Fixed-size array

Extensible array

Linked list

Set

Dictionary

Hash table

Balanced tree

Red-black tree

Graph

Syntax tree


Asymptotic notation

Amortized  ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/04/26/2021q2/034-AIMA-Reading-Note-1/" title="AIMA Practical Note 1 (Outdated)">     <img class="post_bg" data-lazy-src="https://image.discover304.top/artifitial_intelligence_logo_illustraion.jfif" onerror="this.onerror=null;this.src='/img/404.png'" alt="AIMA Practical Note 1 (Outdated)"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/04/26/2021q2/034-AIMA-Reading-Note-1/" title="AIMA Practical Note 1 (Outdated)">AIMA Practical Note 1 (Outdated)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-04-26T12:35:48.000Z" title="Created 2021-04-26 20:35:48">2021-04-26</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a></span></div><div class="content">Relation of Terms
Term includes Properties
Term can be Algorithm
Use task constraints to make search efficient.
Perform Inference with First Order Logic and appreciate the strengths and weaknesses of this and other logic representations (eg Propositional).
Use PDDL to plan and execute actions using either Propositional or First Order Logic representations.https://discover304.top/2021/03/01/30-0-ra-note/#template
Create and reason with a representation of a Bayesian agent for handling a non-deter ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/04/03/2021q2/033-Gson/" title="Gson 小笔记">     <img class="post_bg" data-lazy-src="https://tse1-mm.cn.bing.net/th/id/R-C.3ef3c37c4bec7d1fbd10964aae971219?rik=sGE0Kh1F0Y5fKg&amp;riu=http%3a%2f%2fwww.wiadevelopers.com%2fwp-content%2fuploads%2fedd%2f2017%2f06%2fGSON-Library.jpg&amp;ehk=WR9Caf%2buUjmJCSqhPb7mroqiINQg1oazoP8XBdO2BMs%3d&amp;risl=&amp;pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.png'" alt="Gson 小笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/04/03/2021q2/033-Gson/" title="Gson 小笔记">Gson 小笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-04-03T01:38:22.000Z" title="Created 2021-04-03 09:38:22">2021-04-03</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a></span></div><div class="content">什么是Gson?
Gson（又称Google Gson）是Google公司发布的一个开放源代码的Java库，主要用途为序列化Java对象为JSON字符串，或反序列化JSON字符串成Java对象。而JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式，易于人阅读和编写，同时也易于机器解析和生成，广泛应用于各种数据的交互中，尤其是服务器与客户端的交互。

注：序列化：Serialization，反序列化：Deserialization
参考资料导航
Gson全解析：https://www.jianshu.com/p/fc5c9cdf3aab

</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/26/2021q1/032-Junit/" title="Junit 小笔记">     <img class="post_bg" data-lazy-src="https://image.discover304.top/scene_junit_forget.jpg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Junit 小笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/26/2021q1/032-Junit/" title="Junit 小笔记">Junit 小笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-26T13:07:51.000Z" title="Created 2021-03-26 21:07:51">2021-03-26</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%97%E6%B3%95/">算法</a></span></div><div class="content">迷失在了历史的长河中。Lost in time.
</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/26/2021q1/031-Flask/" title="Flask 小笔记">     <img class="post_bg" data-lazy-src="https://tse2-mm.cn.bing.net/th/id/OIP-C.Q5EUk28Xc3iCDoMSkrd1_wHaFj?pid=ImgDet&amp;rs=1" onerror="this.onerror=null;this.src='/img/404.png'" alt="Flask 小笔记"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/26/2021q1/031-Flask/" title="Flask 小笔记">Flask 小笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-26T13:06:45.000Z" title="Created 2021-03-26 21:06:45">2021-03-26</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E6%8A%80%E6%9C%AF/">技术</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%B5%84%E6%96%99/">资料</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%97%E6%B3%95/">算法</a></span></div><div class="content">What is flask?
Python web application framework.

Why flask?
lightweight
ability to scale up.

How to use basic functionality of flask?Here we list the basic functionality of flasj.
Install and activation1234$ mkdir myproject$ cd myproject$ python3 -m venv venv$ . venv/bin/activate

12PS C:\path\to\app&gt; py -m venv venvPS C:\path\to\app&gt; venv\Scripts\activate

Real code example123456from flask import Flaskapp = Flask(__name__)@app.route(&#x27;/&#x27;)def hello_world():    return &#x27;Hello ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/16/2021q1/026-3-sepp/" title="Software Engineering Terms Collection 3">     <img class="post_bg" data-lazy-src="https://image.discover304.top/coding_img.jpeg?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="Software Engineering Terms Collection 3"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/16/2021q1/026-3-sepp/" title="Software Engineering Terms Collection 3">Software Engineering Terms Collection 3</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-16T09:52:32.000Z" title="Created 2021-03-16 17:52:32">2021-03-16</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%B3%BB%E7%BB%9F/">系统</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%A7%AF%E7%B4%AF/">积累</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%95%B4%E7%90%86/">整理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/">软件工程</a></span></div><div class="content">Lecture 13&#x2F;14&#x2F;15
VV&amp;C 
Line coverage&#x2F; branch coverage
Bug tracking
review, static analysis
deploy
maintenance  
DevOps, communication delay
Waterfall model, Spiral model, The Unified Process
</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/09/2021q1/028-2-CG-Lecture-note/" title="Week 5 Concepts and Categories">     <img class="post_bg" data-lazy-src="https://tse1-mm.cn.bing.net/th/id/OIP.l8Y0OKUU4sul_-LKyoCPVAAAAA?pid=ImgDet&amp;rs=1" onerror="this.onerror=null;this.src='/img/404.png'" alt="Week 5 Concepts and Categories"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/09/2021q1/028-2-CG-Lecture-note/" title="Week 5 Concepts and Categories">Week 5 Concepts and Categories</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-09T09:21:00.000Z" title="Created 2021-03-09 17:21:00">2021-03-09</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86/">知识</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%9F%BA%E7%A1%80/">基础</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%95%B4%E7%90%86/">整理</a></span></div><div class="content">concepts as mental representations of classes objects or events. They determine how things are related or categorized.
concepts: improve cognitive economy, help us make useful predictions and generalizations, communicate.
cognitive economy: prototype theory, 
classical theory, pros: intuitive, economical, definitions are easy to communicate, easy to check category membership against definition. cons: hard to find satisfactory definitions, borderline&#x2F;debatable cases, typicality effects.
cate ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/03/07/2021q1/030-1-RA-Note/" title="RA Lecture Note: Symbolic Planning Continuous">     <img class="post_bg" data-lazy-src="https://image.discover304.top/artifitial_intelligence_logo_illustraion.jfif" onerror="this.onerror=null;this.src='/img/404.png'" alt="RA Lecture Note: Symbolic Planning Continuous"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/07/2021q1/030-1-RA-Note/" title="RA Lecture Note: Symbolic Planning Continuous">RA Lecture Note: Symbolic Planning Continuous</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-07T00:55:00.000Z" title="Created 2021-03-07 08:55:00">2021-03-07</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a></span></div><div class="content">Tools Collection
Monitoring
Hierarchical planning
Hierarchical task network (HTN)
High level action (HLA)
refinement

Template12345&lt;!-- refinements --&gt;Refinment(&#123;ActionName&#125;(variable1, variable2),    Precond: &#123;constraints&#125;    Steps: &#123;action list&#125;)

Monitoring and replanning in unbounded num-determinismExecution monitoring includes action monitoring, plan monitoring. 
Hierarchical Planninghierarchical decomposition, Hierarchical task network (HTN) planning: ini ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/03/01/2021q1/030-0-RA-Note/" title="RA Lecture Note: Symbolic Planning 1">     <img class="post_bg" data-lazy-src="https://image.discover304.top/artifitial_intelligence_logo_illustraion.jfif" onerror="this.onerror=null;this.src='/img/404.png'" alt="RA Lecture Note: Symbolic Planning 1"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/03/01/2021q1/030-0-RA-Note/" title="RA Lecture Note: Symbolic Planning 1">RA Lecture Note: Symbolic Planning 1</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-03-01T06:30:49.000Z" title="Created 2021-03-01 14:30:49">2021-03-01</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/">笔记</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/">人工智能</a></span></div><div class="content">Tools Collection
search-based problem-solving agent
logic-based planning agent
Planning definition domain language (PDDL)
state-space search
forward state-space search
backward state-space search


plan-space search
partial-order planning



Template123456&lt;!-- PDDL --&gt;Initial State: &#123;state&#125;Goal State: &#123;state&#125;Action(&#123;ActionName&#125;(variable1,variable2,...)    Precond:&#123;a conjunction, all positive&#125;,    Effect:&#123;a conjunction, can extend to disjunction  ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/02/27/2021q1/017-1-IADS-revision-note/" title="IADS Revision Note: Language Processing Basic">     <img class="post_bg" data-lazy-src="https://th.bing.com/th/id/R3c3188f9a732735535f0f459bffb7881?rik=LM5iggw%2f8kApUw&amp;pid=ImgRaw" onerror="this.onerror=null;this.src='/img/404.png'" alt="IADS Revision Note: Language Processing Basic"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/02/27/2021q1/017-1-IADS-revision-note/" title="IADS Revision Note: Language Processing Basic">IADS Revision Note: Language Processing Basic</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-02-27T13:17:23.000Z" title="Created 2021-02-27 21:17:23">2021-02-27</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/">笔记整理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%AE%97%E6%B3%95/">算法</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/">语言处理</a></span></div><div class="content">CFG and syntax treecontext-free languages are common to both artificial languages and natural languages, can be resolved by syntax tree, which displays the grammatical consistent structure of a language text and constructing the tree is a step in many language processing (LP) tasks.
grammar specify what syntax tree is possible, consist of terminals of grammar or the leaf of syntax and non-terminals that not appear in sentences of language.
generating syntax tree from grammar, beginning with star ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/2021/02/25/2021q1/027-Python-plt-color-collection/" title="plt颜色设置及Matplotlib颜色对照表">     <img class="post_bg" data-lazy-src="https://matplotlib.org/devdocs/_images/sphx_glr_voxels_rgb_001.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="plt颜色设置及Matplotlib颜色对照表"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/02/25/2021q1/027-Python-plt-color-collection/" title="plt颜色设置及Matplotlib颜色对照表">plt颜色设置及Matplotlib颜色对照表</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-02-25T00:54:25.000Z" title="Created 2021-02-25 08:54:25">2021-02-25</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%8F%82%E8%80%83/">参考</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/Python/">Python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%95%B4%E7%90%86/">整理</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E4%BB%93%E5%BA%93/">仓库</a></span></div><div class="content">Matplotlib几个基本的颜色代码blue( b ), cyan( c ), green( g ), black( k ), magenta( m ), red( r ), white( w ), yellow( y )
Matplotlib颜色对照表
颜色及十六进制对应123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141cnames = &#123;&#x27;aliceblue&#x27;:           ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/2021/02/23/2021q1/028-1-CG-Lecture-note/" title="Week 4 Language Use in the Wild">     <img class="post_bg" data-lazy-src="https://tse1-mm.cn.bing.net/th/id/OIP.l8Y0OKUU4sul_-LKyoCPVAAAAA?pid=ImgDet&amp;rs=1" onerror="this.onerror=null;this.src='/img/404.png'" alt="Week 4 Language Use in the Wild"></a></div><div class="recent-post-info"><a class="article-title" href="/2021/02/23/2021q1/028-1-CG-Lecture-note/" title="Week 4 Language Use in the Wild">Week 4 Language Use in the Wild</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">Created</span><time datetime="2021-02-23T09:21:24.000Z" title="Created 2021-02-23 17:21:24">2021-02-23</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag article-meta__icon"></i><a class="article-meta__tags" href="/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E7%9F%A5%E8%AF%86/">知识</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E5%9F%BA%E7%A1%80/">基础</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/tags/%E6%95%B4%E7%90%86/">整理</a></span></div><div class="content">Lecture 10.1 CommunicationKey linkage
Communication is a goal: to transfer information from sourceto destination.
If M and F are independent, $H(M|F) &#x3D; H(M)$.
If F deterministically map to M, $H(M|F) &#x3D; 0$.

Key termscommunication, information, source, destination, computational level goal, necessary subgoal
source, probability distribution over meaning, transmitter, encoder, function, meaning, form, receiver, decoder, noise source, reference resolution
information theory, information c ...</div></div></div><nav id="pagination"><div class="pagination"><a class="extend prev" rel="prev" href="/page/3/"><i class="fas fa-chevron-left fa-fw"></i></a><a class="page-number" href="/">1</a><span class="space">&hellip;</span><a class="page-number" href="/page/3/">3</a><span class="page-number current">4</span><a class="page-number" href="/page/5/">5</a><span class="space">&hellip;</span><a class="page-number" href="/page/9/">9</a><a class="extend next" rel="next" href="/page/5/"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside_content" id="aside_content"><div class="card-widget card-info"><div class="card-content"><div class="card-info-avatar is-center"><img class="avatar-img" data-lazy-src="/img/head.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/><div class="author-info__name">✨YangSier✨</div><div class="author-info__description">Love Everything You Like.</div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/archives/"><div class="headline">Articles</div><div class="length-num">243</div></a></div><div class="card-info-data-item is-center"><a href="/tags/"><div class="headline">Tags</div><div class="length-num">88</div></a></div><div class="card-info-data-item is-center"><a href="/categories/"><div class="headline">Categories</div><div class="length-num">23</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://space.bilibili.com/98639326"><i class="fab fa-bilibili"></i><span>Bilibili Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/Discover304" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="https://blog.csdn.net/Discover304" target="_blank" title="CSDN"><i class="fa-solid fa-c"></i></a><a class="social-icon" href="https://www.zhihu.com/people/discover-56-86-75" target="_blank" title="知乎"><i class="fa-brands fa-zhihu"></i></a><a class="social-icon" href="mailto:hobart.yang@qq.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a><a class="social-icon" href="https://jq.qq.com/?_wv=1027&amp;k=EaGddTQg" target="_blank" title="QQ"><i class="fa-brands fa-qq"></i></a></div></div></div><div class="card-widget card-announcement"><div class="card-content"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>Announcement</span></div><div class="announcement_content">✨动态更新：<p style="text-align:center">享受精彩大学生活中。</p>✨聊天划水QQ群：<p style="text-align:center"><a target="_blank" rel="noopener" href="https://jq.qq.com/?_wv=1027&k=EaGddTQg"><strong>兔叽の魔术工房</strong></a><br>942-848-525</p>✨我们的口号是：<p style="text-align:center; color:#39C5BB">人工降神，机械飞升！</p><a target="_blank" rel="noopener" href='https://space.bilibili.com/98639326'><img src='/img/mikulittletrans.png'></a></div></div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="card-content"><div class="item-headline"><i class="fas fa-history"></i><span>Recent Post</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2023/04/24/2023q1/173-nginx-docker-blog-page-depoly/" title="【模板】Hexo Docker Nginx 个人博客服务器部署"><img data-lazy-src="https://image.discover304.top/s16001804242023.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="【模板】Hexo Docker Nginx 个人博客服务器部署"/></a><div class="content"><a class="title" href="/2023/04/24/2023q1/173-nginx-docker-blog-page-depoly/" title="【模板】Hexo Docker Nginx 个人博客服务器部署">【模板】Hexo Docker Nginx 个人博客服务器部署</a><time datetime="2023-04-24T06:39:24.000Z" title="Created 2023-04-24 14:39:24">2023-04-24</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/172-design-idea/" title="【思考】创新点子"><img data-lazy-src="https://image.discover304.top/blog-img/s19313212112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】创新点子"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/172-design-idea/" title="【思考】创新点子">【思考】创新点子</a><time datetime="2022-12-11T11:08:37.000Z" title="Created 2022-12-11 19:08:37">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/171-other-thought/" title="【思考】其他思考"><img data-lazy-src="https://image.discover304.top/blog-img/s19305112112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】其他思考"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/171-other-thought/" title="【思考】其他思考">【思考】其他思考</a><time datetime="2022-12-11T11:08:17.000Z" title="Created 2022-12-11 19:08:17">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/11/2022q4/170-key-thought/" title="【思考】核心思考"><img data-lazy-src="https://image.discover304.top/blog-img/s19294112112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="【思考】核心思考"/></a><div class="content"><a class="title" href="/2022/12/11/2022q4/170-key-thought/" title="【思考】核心思考">【思考】核心思考</a><time datetime="2022-12-11T11:08:06.000Z" title="Created 2022-12-11 19:08:06">2022-12-11</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/12/09/2022q4/169-new-r/" title="R: Getting Into Project of R"><img data-lazy-src="https://image.discover304.top/blog-img/s18350812112022.png" onerror="this.onerror=null;this.src='/img/404.png'" alt="R: Getting Into Project of R"/></a><div class="content"><a class="title" href="/2022/12/09/2022q4/169-new-r/" title="R: Getting Into Project of R">R: Getting Into Project of R</a><time datetime="2022-12-09T09:44:06.000Z" title="Created 2022-12-09 17:44:06">2022-12-09</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/11/28/2022q3/167-2-sp-review/" title="SP Modules Review Contents (3)"><img data-lazy-src="https://image.discover304.top/blog-img/s11220010012022.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="SP Modules Review Contents (3)"/></a><div class="content"><a class="title" href="/2022/11/28/2022q3/167-2-sp-review/" title="SP Modules Review Contents (3)">SP Modules Review Contents (3)</a><time datetime="2022-11-28T07:24:39.000Z" title="Created 2022-11-28 15:24:39">2022-11-28</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2022/11/17/2022q3/166-10-connected-speech-hidden-markov-model/" title="SP Module 10 Connected Speech &amp; HMM Training"><img data-lazy-src="https://image.discover304.top/blog-img/s11220010012022.png?imageView2/2/h/300" onerror="this.onerror=null;this.src='/img/404.png'" alt="SP Module 10 Connected Speech &amp; HMM Training"/></a><div class="content"><a class="title" href="/2022/11/17/2022q3/166-10-connected-speech-hidden-markov-model/" title="SP Module 10 Connected Speech &amp; HMM Training">SP Module 10 Connected Speech &amp; HMM Training</a><time datetime="2022-11-17T01:47:12.000Z" title="Created 2022-11-17 09:47:12">2022-11-17</time></div></div></div></div></div><div class="card-widget card-webinfo"><div class="card-content"><div class="item-headline"><i class="fas fa-chart-line"></i><span>Info</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">Article :</div><div class="item-count">243</div></div><div class="webinfo-item"><div class="item-name">Run time :</div><div class="item-count" id="runtimeshow" data-publishDate="2020-05-21T23:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">Total Count :</div><div class="item-count">393.8k</div></div><div class="webinfo-item"><div class="item-name">UV :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">Last Push :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-04-25T11:02:55.530Z"></div></div></div></div></div></div></div></main><footer id="footer" style="background-image: url(https://image.discover304.top/wallpaper/anime-anime-girls-original-characters-short-hair-wallpaper-preview.jpg?imageView2/2/h/600)"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2023 By ✨YangSier✨</div><div><a target="_blank" href="https://beian.miit.gov.cn/" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;"> 冀ICP备2021025381号-1</p></a></div><div><a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=13060602001430" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><img src="/img/beian.png" style="float:left;"/><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">冀公网安备 13060602001430号</p></a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="translateLink" type="button" title="Switch Between Traditional Chinese And Simplified Chinese">繁</button><button id="darkmode" type="button" title="Switch Between Light And Dark Mode"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="Toggle between single-column and double-column"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="Setting"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="Back To Top"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><div class="search-dialog__title" id="local-search-title">Local search</div><div id="local-input-panel"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="Search for Posts" type="text"/></div></div></div><hr/><div id="local-search-results"></div><span class="search-close-button"><i class="fas fa-times"></i></span></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="/js/tw_cn.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/vanilla-lazyload/dist/lazyload.iife.min.js"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.spacingElementById('content-inner')
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.spacingElementById('content-inner')
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><script src="/js/search/local-search.js"></script><script>var preloader = {
  endLoading: () => {
    document.body.style.overflow = 'auto';
    document.getElementById('loading-box').classList.add("loaded")
  },
  initLoading: () => {
    document.body.style.overflow = '';
    document.getElementById('loading-box').classList.remove("loaded")

  }
}
window.addEventListener('load',()=> {preloader.endLoading()})</script><div class="js-pjax"><script>function subtitleType () {
  if (true) { 
    var typed = new Typed("#subtitle", {
      strings: "Space of Tech and Love.,但行好事，莫问前程。,['happy' for _ in range(365)],一切都是最好的安排，无怨无悔。".split(","),
      startDelay: 300,
      typeSpeed: 150,
      loop: true,
      backSpeed: 50
    })
  } else {
    document.getElementById("subtitle").innerHTML = 'Space of Tech and Love.'
  }
}

if (true) {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}</script><script>if (document.getElementsByClassName('mermaid').length) {
  if (window.mermaidJsLoad) mermaid.init()
  else {
    getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(() => {
      window.mermaidJsLoad = true
      mermaid.initialize({
        theme: 'neutral',
      })
      false && mermaid.init()
    })
  }
}</script><script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div><script defer="defer" id="fluttering_ribbon" mobile="true" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-fluttering-ribbon.min.js"></script><script>(function(){
  const bp = document.createElement('script');
  const curProtocol = window.location.protocol.split(':')[0];
  if (curProtocol === 'https') {
    bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  }
  else{
    bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  }
  bp.dataset.pjax = ''
  const s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(bp, s);
})()</script></div></body></html>